package com.dingreading.cloud.soms.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.util.Date;


import lombok.Data;

/**
 * 学科管理表 实体类。
 *
 * @author Administrator
 * @since 2025-11-03
 */
@Data
@Table(value = "ca_class_member", dataSource = "ds3")
public class MstCaClassMember implements Serializable {

    /**
     * 自增主键ID
     */
    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * uid
     */
    private String uid;

    /**
     * 班级uid
     */
    private String classUid;

    /**
     * 所属公司/组织唯一标识符 (UID)
     */
    private String agencyUid;

    /**
     * 所属门店唯一标识符 (UID)
     */
    private String storeUid;

    /**
     * 所属门店名称
     */
    private String storeName;

    /**
     * 项目UID
     */
    private String projectUid;

    /**
     * 服务名称
     */
    private String projectName;

    /**
     * 成员/学生唯一标识符 (UID)
     */
    private String studentUid;

    /**
     * 成员/学生姓名 (常用名)
     */
    private String studentName;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 年级 (例如: 1-12代表年级, 或其他自定义编码)
     */
    private Integer grade;

    /**
     * 成员状态 (1: 正常在班, 0: 已移除/禁用)
     */
    private Integer enabled;

    /**
     * 剩余课时数
     */
    private Integer leftLessonCnt;

    /**
     * 记录添加时间
     */
    @Column(onInsertValue = "now()")
    private Date addTime;

    /**
     * 记录最后编辑时间
     */
    @Column(onInsertValue = "now()", onUpdateValue = "now()")
    private Date editTime;

    /**
     * 添加人用户UID
     */
    private String addStaffUid;

    /**
     * 添加人姓名
     */
    private String addStaffName;

    /**
     * 最后修改人用户UID
     */
    private String lastStaffUid;

    /**
     * 最后修改人姓名
     */
    private String lastStaffName;

    /**
     * 服务阶段UID
     */
    private String stageUid;

    /**
     * 服务阶段名称
     */
    private String stageName;

}
